// 导入内置模块
const express = require("express");
const md5 = require("md5");
// 导入自定义模块
const usersModel = require("../models/users");

// 创建路由
const router = express.Router();

//
router
  .route("/login")
  /* 登录页面 */
  .get(function (req, res, next) {
    res.render("users/login");
  })
  /* 执行登录 */
  .post(function (req, res, next) {
    // console.log(req.body);
    let { username, password } = req.body;
    // console.log(username, password);
    // 验证数据
    // 查询数据
    usersModel.findOne(
      { username: username, password: md5(password) },
      (err, data) => {
        if (err) {
          // 查询失败
          res.render("fail", {
            title: `查询不到你的信息~~~ 请稍后再尝试或者去注册\n${err}`,
            url: "/users/register",
          });
        } else if (data) {
          //  判断data存在 -- 登录成功
          // // 添加session
          // console.log(data);
          // console.log(data._id.toString());

          req.session.username = data.username;
          req.session.userid = data._id.toString();

          res.render("success", {
            title: `登录成功~~~快去看看你的信息`,
            url: "/account/",
          });
        } else {
          // data不存在
          res.render("fail", {
            title: `查询不到你的信息~~~ 请稍后再尝试或者去注册\n${err}`,
            url: "/users/register",
          });
        }
      }
    );
  });

/* 注册页面 */
router
  .route("/register")
  /* 注册页面 */
  .get(function (req, res, next) {
    res.render("users/reg");
  })
  /* 执行注册 */
  .post(function (req, res, next) {
    // console.log(req.body);
    // 验证提交数据
    // 将数据提交到数据库中
    console.log(req.body.username);
    usersModel.create(
      { username: req.body.username, password: md5(req.body.password) },
      (err, data) => {
        if (err) {
          // console.log("register/fail");
          console.log(err);

          res.render("fail", {
            title: `注册失败真的很难过~~~ 请稍后再尝试\n${err}`,
            url: "/users/register",
          });
        } else {
          // console.log("register/success");
          res.render("success", {
            title: "注册成功~~~ 快跳转到登录页面登录",
            url: "/users/login",
          });
        }
      }
    );
  });

router.route("/logout").get(function (req, res) {
  // 删除sessiond
  req.session.destroy(() => {
    res.render("success", {
      title: "推出登录成功~~~",
      url: "/users/login",
    });
  });
});

//导出router
module.exports = router;
